:: This is an example file to be used as reference to create your own custom file
:: Note that comment lines start with "::"
:: Comments are always a full line; comments behind parameters render this file invalid

:: == Set Modbus master baudrate
:: BAUD=9600
:: BAUD=19200
:: BAUD=38400
BAUD=57600
:: BAUD=115200


:: == Set bit count and parity
BITS=8n1
:: BITS=8e1
:: BITS=8o1
:: BITS=8n2
:: BITS=8e2
:: BITS=8o2


:: == Set modbus send delay in milliseconds (a delay before next request)
SENDDELAY=350


:: == Select if modbusdevices should be made automatically or manually
MODBUSDEVICES=AUTO
::MODBUSDEVICES=MANUAL


:: == If MODBUSDEVICES=MANUAL is selected, these settings do not have any affect 
:: == If MODBUSDEVICES=AUTO is selected, then you can select if modbusdevices should be 
:: == combined making one larger modbusdevice with multiple registers
:: == set to FALSE if combining is not allowed, or enter the maximum number of registers that should be combined per query
:: COMBINE=FALSE
COMBINE=10


:: == Set modbus timeout in milliseconds (only for autogenerated modbus devices)
TIMEOUT=100


:: == If MODBUSDEVICES=MANUAL selected modbus devices have to be defined manually
:: MODBUSDEVICE=ADDRESS:1,  STARTREG:2,   COUNT:1,  TYPE:COIL,     TIMEOUT:100
:: MODBUSDEVICE=ADDRESS:3,  STARTREG:80,  COUNT:7,  TYPE:HOLDING,  TIMEOUT:100
:: MODBUSDEVICE=ADDRESS:5,  STARTREG:0,   COUNT:1,  TYPE:HOLDING,  TIMEOUT:100
:: MODBUSDEVICE=ADDRESS:9,  STARTREG:2,   COUNT:10, TYPE:HOLDING,  TIMEOUT:120
:: MODBUSDEVICE=ADDRESS:33, STARTREG:0,   COUNT:1,  TYPE:INPUT,    TIMEOUT:200
:: MODBUSDEVICE=ADDRESS:12, STARTREG:0,   COUNT:1,  TYPE:DISCRETE, TIMEOUT:350
:: MODBUSDEVICE=ADDRESS:1,  STARTREG:2,   COUNT:1,  TYPE:COIL,     TIMEOUT:100


:: == Use this to make an element that shows the value of register 33, but writes into register 4 
:: == this will generate a modbusdevice for register 33, 
:: == so don't forget to make sure you then have the "write" register also defined as modbusdevice.
:: MODBUSDEVICE=ADDRESS:10, READREG:33, WRITEREG:4, COUNT:1,  TYPE:HOLDING, TIMEOUT:100
:: MODBUSDEVICE=ADDRESS:10, STARTREG:4, COUNT:1, TYPE:HOLDING, TIMEOUT:120


:: == Send a fixed value to a slave register 
:: == Using COUNT:SINGLE will use Modbus function code 06 instead of 16 for writing to the slave
:: SENDREGISTERS=ADDRESS:10, WRITEREG:29, COUNT:1,      FIXEDVALUE:1,    TIMEOUT:100, 
:: SENDREGISTERS=ADDRESS:1,  WRITEREG:6,  COUNT:SINGLE, FIXEDVALUE:2048, TIMEOUT:200


:: == Send a fixed value to a slave register, 
:: == based on the value of an internal time schedule of the master display
:: SENDREGISTERS=ADDRESS:10, WRITEREG:11, COUNT:1, FIXEDVALUE:3,  TIMEOUT:100, SENDIF:TIMESCH1=0
:: SENDREGISTERS=ADDRESS:10, WRITEREG:11, COUNT:1, FIXEDVALUE:6,  TIMEOUT:100, SENDIF:TIMESCH1=1
:: SENDREGISTERS=ADDRESS:10, WRITEREG:11, COUNT:1, FIXEDVALUE:9,  TIMEOUT:100, SENDIF:TIMESCH1=2
:: ...
:: SENDREGISTERS=ADDRESS:10, WRITEREG:11, COUNT:1, FIXEDVALUE:45, TIMEOUT:100, SENDIF:TIMESCH1=14
:: SENDREGISTERS=ADDRESS:10, WRITEREG:11, COUNT:1, FIXEDVALUE:48, TIMEOUT:100, SENDIF:TIMESCH1=15


:: == Send internal registers (such as time schedules, temperature, ) to slave(s)
:: using COUNT:SINGLE will use Modbus function code 06 instead of 16 for writing to the slave
:: == local TE
:: SENDREGISTERS=ADDRESS:10, WRITEREG:1002, COUNT:1,      SOURCEREG:3000, TIMEOUT:150	
:: SENDREGISTERS=ADDRESS:10, WRITEREG:2,    COUNT:1,      SOURCEREG:3001, TIMEOUT:300
:: SENDREGISTERS=ADDRESS:10, WRITEREG:5,    COUNT:1,      SOURCEREG:3002, TIMEOUT:300
:: SENDREGISTERS=ADDRESS:10, WRITEREG:8,    COUNT:1,      SOURCEREG:3003, TIMEOUT:300
:: SENDREGISTERS=ADDRESS:11, WRITEREG:2000, COUNT:1,      SOURCEREG:3004, TIMEOUT:300
:: SENDREGISTERS=ADDRESS:29, WRITEREG:456,  COUNT:5,      SOURCEREG:3007, TIMEOUT:300
:: == local minute (0-59)
:: SENDREGISTERS=ADDRESS:12, WRITEREG:1044, COUNT:1,      SOURCEREG:3005, TIMEOUT:300
:: == local Time Schedule 1 value
:: SENDREGISTERS=ADDRESS:13, WRITEREG:1044, COUNT:1,      SOURCEREG:3007, TIMEOUT:300
:: == local Time Schedule 2 value
:: SENDREGISTERS=ADDRESS:10, WRITEREG:1008, COUNT:1,      SOURCEREG:3008, TIMEOUT:150	
:: SENDREGISTERS=ADDRESS:2,  WRITEREG:12,   COUNT:SINGLE, SOURCEREG:3000, TIMEOUT:200


:: == Send the value of a register from one slave to another. 
:: == Remember to add the read-registers to the Modbusdevice list
:: == (even when you are using the MODBUSDEVICES=AUTO setting)
:: == if you don't have those registers visible on the display. 
:: == Only the write-registers are automatically created as Modbusdevice.
:: == When using the MODBUSDEVICES=MANUAL parameter, 
:: == remember to create both the read and write registers as Modbusdevices. 
:: == writing can only be done into Holding registers.
:: == If no type is specified, Holding register is assumed.
:: SENDREGISTERS=ADDRESS:20, WRITEREG:17,   COUNT:1,      SOURCEREG:1.2.COIL,         TIMEOUT:250
:: SENDREGISTERS=ADDRESS:8,  WRITEREG:480,  COUNT:7,      SOURCEREG:3.20480.HOLDING,  TIMEOUT:250
:: SENDREGISTERS=ADDRESS:10, WRITEREG:1017, COUNT:1,      SOURCEREG:11.1017,          TIMEOUT:150
:: SENDREGISTERS=ADDRESS:25, WRITEREG:1020, COUNT:1,      SOURCEREG:11.1020.DISCRETE, TIMEOUT:150
:: SENDREGISTERS=ADDRESS:44, WRITEREG:1023, COUNT:1,      SOURCEREG:11.1023.INPUT,    TIMEOUT:150
:: SENDREGISTERS=ADDRESS:11, WRITEREG:2,    COUNT:SINGLE, SOURCEREG:2.0,              TIMEOUT:200


:: == Set the value of a slave register to a local multiDISPLAY register. 
:: == This can be used to trigger an alarm sound based on a slave registers value,
:: SENDREGISTERS=ADDRESS:0, WRITEREG:3060, COUNT:2,      SOURCEREG:1.2.COIL, TIMEOUT:125
:: SENDREGISTERS=ADDRESS:0, WRITEREG:3029, COUNT:SINGLE, SOURCEREG:3.9547,   TIMEOUT:130

